home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / print / isigns50.zip / SIGNS50.DOC < prev    next >
Text File  |  1989-11-03  |  21KB  |  450 lines

  1.  
  2.  
  3.  
  4.                                   SIGNS.DOC
  5.                                  Version 5.0
  6.  
  7.                               by Robert W. Bloom
  8.                                   26 Sep 89
  9.  
  10. Release Notice:
  11.  
  12.      Signs and all associated files (Signs, MkFntNdx, font files, etc.) are
  13. freely released to the public for non-profit use.  If anybody's going to
  14. profit, it should be me!  Anywhat, this is my contribution for all the great
  15. programs I've received from the pipeline.  Thanks guys!
  16.  
  17.  
  18. Revision History:
  19.  
  20. Signs:
  21.      1.x - March 86, first versions, menu driven.  GSigns created.
  22.      2.x - May 86, all screen oriented.
  23.      3.x - Jun 86, bit mapped font files, released w/MakeFont Version 2.0. 
  24. New features: inverse video, user changeable single block character, inter-
  25. character spacing, block_char used for fill in inverse video.
  26.      4.x - Oct 86, added bit-mapped output, Library released with 3 font
  27. files (font1, font2, gothfont), MS-DOS version released and patched so that
  28. 'Gothfont' fit.
  29.      4.2 - Aug 89, patched to compile with TurboPascal v5.0.
  30.      5.0 - Sep 89, Redesign of font file interface to use HP LaserJet font
  31. files, elimination of MakeFont and Generic versions for CP/M, addition of a
  32. font index file generator, expanded Epson printer support.  Converted old font
  33. files into HP LaserJet-compatible font files.  TurboPascal v5.0 specific.
  34.  
  35.      Older versions are still workable, but why bother.  Though I still have
  36. my CP/M machine, it doesn't get turned on much. 
  37.  
  38. Background:
  39.  
  40.      I was never happy with the sign- and banner-making programs available
  41. for CP/M.  Sure there were a number of good ones, specially 'GOTHIC,' but none
  42. have enough variability to suit me.  By variability, I mean the capability to
  43. change sizes, fonts, and paper positioning to create whatever I wanted.  What
  44. I really wanted was a 'Print Shop' for CP/M-80.  Alas, it's not available and
  45. it looks as if no one is developing any new stuff for my (old) favorite OS.
  46.  
  47.      I though the problem was solved when I ran across a set of two
  48. programs by Ken Crook in Pascal.  I was just learning Pascal, so I thought
  49. this would be a good way to get some fun education.  Unfortunately, the
  50. program was not written very well - although some good options were present, I
  51. couldn't even compile the programs (called 'sign' and 'banner') as they
  52. wouldn't fit in memory.  (CP/M-80, TurboPascal v3.01, 63k, error messages
  53. off.)  The main problem was that all of the character fonts were held in
  54. memory at one time.  Even eliminating all the symbols and keeping just numbers
  55. and upper case letters yielded a com file of 36k.  (Besides, input was taken
  56. from a file not the console, which was a pain.)
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63. Features:
  64.  
  65.      So I decided to start over and write my own.  Major features of
  66. my program are:
  67.  
  68.           - Fonts are held in an external HP LaserJet-compatible 'soft' font
  69. file which is read by random access methods.  It reads only the required
  70. characters into memory when they are needed.  An index to the font file is
  71. required (contains character descriptor data and pointers into the HP file)
  72. which is created by the separate program MkFntNdx.
  73.  
  74.           - Signs and Banners are made by changing an option.  They may be
  75. output to the console, a file, or lst: device (printer).  Lots of other
  76. options are available.  (see below)
  77.  
  78.           - Any HP LaserJet-compatible 'soft' portrait font may be used. 
  79. Because of the very-high resolution 300dpi of the LaserJet, many soft fonts
  80. will be 'too big' for screen output.  I.e., each dot is turned into a
  81. character position limiting screen output to 80 'dots' wide.  To remedy this,
  82. two font sets are supplied: one with characters that are up to 12 units high
  83. counting a two block descender and up to 10 blocks wide; and one which is four
  84. times wider and twice as high.  Both are proportionally spaced.  The smaller
  85. of the two is readable only with a magnifying glass if actually downloaded to
  86. LaserJet - but it works fine with Signs.
  87.  
  88.           - Font editors are *not* supplied, editing an HP font file is a
  89. very tricky business.  'AlterFnt' and 'QFont' are two shareware-available
  90. editors available.  Many soft fonts are also available.  I designed one of
  91. supplied fonts, a friend (RK Sparks) did the other.
  92.  
  93.           - Four printers are supported: IDS, Epson, HP and 'dumb'.  Dumb
  94. printers can't output in graphics dot-mode.  There are four graphic output
  95. densities for the HP and Epson.
  96.  
  97.           - If printing, one can change the cpi and lpi from the menu which
  98. automatically adjusts the printer.  Input lines are checked to see if they
  99. will fit.  Normal (80) and wide (132) terminals, as well as small (8") and
  100. large (14") printers are correctly handled.  The user can even request output
  101. in "reverse video" (White letters, black background instead of black letters
  102. on a white background.)
  103.  
  104.           - The letters of the output sign/banner can be made of the letter
  105. itself, any single character, a 'overstrike' block to make a nice black solid
  106. block or individual dots using the graphics mode of the printer.  (Naturally
  107. the graphics dot-mode will create much smaller letters and is strongly printer
  108. dependent. 
  109.  
  110.      I think you'll find that the program is self-explanatory.  Once
  111. selected, a option does not change until manually changed.  This allows
  112. changing just one option quickly.  Some options eliminate others.
  113.  
  114.  
  115. Files:
  116.  
  117.      READ.ME - introduction to signs.
  118.  
  119.  
  120.  
  121.  
  122.      RWBFONT.FNT, RKSFONT.FNT - HP LaserJet compatible soft font files
  123.      RWBFONT.FNX, RKSFONT.FNX - index to above created by MkFntNdx and used
  124.           by Signs.
  125.      MkFntNdx.PAS - (Make Font Index) source code for font index generator -
  126.           asks for input filenames. 
  127.      SIGNS.PAS - source code for sign generator.  Also calls the include
  128.           files: CONST.PAS, ASK.PAS, DISP.PAS, PRT.PAS, UTIL.PAS
  129.      SIGNS.IN - sample file input, contains all printable characters.
  130.      SIGNS.OUT - sample output file from signs.in
  131.      SIGNS.DOC - this file.
  132.      SIGNS.EXE, MKFNTNDX.EXE - executables
  133.      PRINTER2.PAS, PRINTER2.TPU - TurboPascal v5 fix for LST output
  134.  
  135. Compiling:
  136.  
  137.      TurboPascal v 5.0 was used to compile the program, using the CRT and
  138. PRINTER2 'use' units.  A installed Ansi driver is required for the low/high
  139. video calls.
  140.  
  141.      I found a bug in TurboPascal v5.0: the default 'printer' unit in
  142. TURBO.TPL will not output a CHR(26) which is needed when one outputs graphics. 
  143. Borland provided the 'printer2' public domain unit which fixes the problem. 
  144. This problem was not in TurboPascal v3.
  145.  
  146. Running:
  147.  
  148.      As a minimum, one needs to have the following files in the default
  149. directory: Signs.exe, one HP LaserJet-compatible soft font file, and a index
  150. to the font file (created by mkfntndx.exe.)
  151.  
  152. Notes:
  153.  
  154.      - some options are disabled with other options.  For instance, if one
  155. selects console output, you don't see any printer options.  Or if you enter a
  156. given left margin to use, the output centering option is disabled.  (To center
  157. the output after zeroing a previously-given left margin, one has to manually
  158. enter 'y' to centering as a non-zero left margin sets centering to 'no'.) 
  159. Non-applicable menu items are not displayed.
  160.  
  161.      - beware of hardware differences in printers.  If in doubt, make the
  162. printer type 'dumb' and avoid bit-mapped graphics output.
  163.  
  164.      - Outputting to a file automatically sets the line width to the maximum. 
  165. You probably will want to reduce it to something reasonable - especially if
  166. you ask for auto-centering.
  167.  
  168.  
  169. Options:
  170.  
  171. Upon entry to the program one is placed directly in "change parameters" mode. 
  172. A options menu is shown:  (The actual menu will have inappropriate entries
  173. missing, they will appear as they become pertinent.)
  174.  
  175. Signs Version: v5.0, 10 Sep 89                            Mode: Change Parms
  176.                                                                                
  177.  
  178.  
  179.  
  180.  
  181. ------------------------ Options and I/O Parameters --------------------------
  182. T-         Sign type -> Sign            I-